// pages/admin/admin.js
const { apiService } = require('../../utils/api')
const { showSuccess, showError, showLoading, hideLoading } = require('../../utils/util')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    adminInfo: null,
    stats: {
      totalUsers: 0,
      totalProducts: 0,
      totalTasks: 0,
      totalOrders: 0,
      totalSettlements: 0
    },
    loading: false,
    managementModules: [
      {
        id: 'users',
        title: '用户管理',
        desc: '管理小程序用户信息',
        icon: '/images/admin/users.png',
        path: '/pages/admin-users/admin-users'
      },
      {
        id: 'banners',
        title: 'Banner管理',
        desc: '管理首页轮播图',
        icon: '/images/admin/banners.png',
        path: '/pages/admin-banners/admin-banners'
      },
      {
        id: 'products',
        title: '产品管理',
        desc: '管理手工品信息',
        icon: '/images/admin/products.png',
        path: '/pages/admin-products/admin-products'
      },
      {
        id: 'tasks',
        title: '任务管理',
        desc: '管理用户任务',
        icon: '/images/admin/tasks.png',
        path: '/pages/admin-tasks/admin-tasks'
      },
      {
        id: 'settlements',
        title: '结算管理',
        desc: '管理用户结算单',
        icon: '/images/admin/settlements.png',
        path: '/pages/admin-settlements/admin-settlements'
      }
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.checkAdminAuth()
    this.loadAdminData()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.loadAdminData()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 检查管理员权限
   */
  checkAdminAuth: function() {
    const app = getApp()
    if (!app.isAdmin()) {
      wx.showModal({
        title: '权限不足',
        content: '您没有管理员权限，无法访问此页面',
        showCancel: false,
        success: () => {
          wx.navigateBack()
        }
      })
      return
    }
  },

  /**
   * 加载管理员数据
   */
  loadAdminData: function() {
    this.setData({ loading: true })

    // 获取用户信息
    const app = getApp()
    const userInfo = app.getUserInfo()
    this.setData({ adminInfo: userInfo })

    // 模拟统计数据（实际应该从API获取）
    this.setData({
      stats: {
        totalUsers: 156,
        totalProducts: 48,
        totalTasks: 234,
        totalOrders: 189,
        totalSettlements: 67
      },
      loading: false
    })
  },

  /**
   * 跳转到管理模块
   */
  onModuleTap: function(e) {
    const module = e.currentTarget.dataset.module
    wx.navigateTo({
      url: module.path
    })
  },

  /**
   * 刷新数据
   */
  onRefreshData: function() {
    this.loadAdminData()
    showSuccess('数据已刷新')
  },

  /**
   * 退出登录
   */
  onLogout: function() {
    wx.showModal({
      title: '退出登录',
      content: '确定要退出管理员登录吗？',
      success: (res) => {
        if (res.confirm) {
          const app = getApp()
          app.clearLoginStatus()
          wx.reLaunch({
            url: '/pages/login/login'
          })
        }
      }
    })
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.loadAdminData()
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '手工外发管理后台',
      path: '/pages/admin/admin'
    }
  }
})